export YC_TOKEN=$(yc iam create-token)
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)


terraform apply
#terraform destroy

# В выводе получаем внешние адреса
# external_ip_address_db_1 = "51.250.9.203"
# external_ip_address_db_2 = "51.250.2.122"

# Подставляем их в следующие команды, ждём пока подключения станут доступны

FIRST_SERVER_IP="62.84.112.235"
SECOND_SERVER_IP="51.250.7.91"

ssh my-user@${FIRST_SERVER_IP}
ssh my-user@${SECOND_SERVER_IP}


# Установка psql
cat ./install_psql.sh | ssh my-user@${FIRST_SERVER_IP}
cat ./install_psql.sh | ssh my-user@${SECOND_SERVER_IP}

# Заполнение тестовой таблицы на первом сервере
# Запустите в отдельной консоли
python3 ./dbfiller.py --ip ${FIRST_SERVER_IP} --record_number 10

# Настройка WAL-level на публикующем сервере
sudo echo "wal_level  = 'logical'" | sudo tee -a /opt/data/psql/15/postgresql.conf
sudo systemctl restart postgresql

# Создание публикации на первом сервере
CREATE PUBLICATION numbers_pub FOR TABLE numbers;

# На втором сервере создаём пустую таблицу такую же как на первом сервере
# она должна существовать до создания подписки
CREATE TABLE if not exists numbers (logdate timestamp not null, number int)
# На втором сервере создаём подписку
CREATE SUBSCRIPTION numbers_sub CONNECTION 'host=62.84.112.235 dbname=mytest user=semyon password=jw8s0F4' PUBLICATION numbers_pub;

# проверяем появились ли в таблице на втором сервере первые 10 записей

# Добавляем записи на первый сервер
python3 ./dbfiller.py --ip ${FIRST_SERVER_IP} --record_number 50

# Смотрим на 2м, работает ли репликация

# Удаляем ресурсы
terraform destroy
